Network switches, such as bridges and routers, forward packets through a network based on addresses in the packets. A network switch typically includes a plurality of ports coupled to different network links. The network switch may receive a packet via one port and process address information in a header of the packet to decide via which other port or ports the network switch should transmit the packet. The network switch then forwards the packet to the determined one or more other ports. In various network switches, packets are stored in a packet memory during processing, and are read from the packet memory after processing and before forwarding to the other port or ports, irrespective of whether the packet is to be forwarded to a single port or to multiple ports. Because network switches often handle packets being communicated via very high rate communication links, packets typically must be written to and read from the packet memory at high rates and the packet memory typically must be capable of handling a high throughput of packets.